package com.ruoyi.channel.service;


import com.ruoyi.channel.domain.MpChannel;
import com.ruoyi.common.core.domain.AjaxResult;

import java.math.BigDecimal;
import java.util.List;

/**
 *  服务层
 * 
 * @author ruoyi
 * @date 2019-05-06
 */
public interface IMpChannelService 
{
	/**
     * 查询信息
     * 
     * @param id ID
     * @return 信息
     */
	public MpChannel selectMpChannelById(Integer id);
	
	/**
     * 查询列表
     * 
     * @param mpChannel 信息
     * @return 集合
     */
	public List<MpChannel> selectMpChannelList(MpChannel mpChannel);
	
	/**
     * 新增
     * 
     * @param mpChannel 信息
     * @return 结果
     */
	public AjaxResult insertMpChannel(MpChannel mpChannel, BigDecimal payRate, BigDecimal merchantPayRate, BigDecimal payLimitLeft, BigDecimal payLimitRight,Long[] payIds);
	
	/**
     * 修改
     * 
     * @param mpChannel 信息
     * @return 结果
     */
	public AjaxResult updateMpChannel(MpChannel mpChannel);
		
	/**
     * 删除信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteMpChannelByIds(String ids);



	/**
	 * 修改渠道状态
	 * @param mpChannel			渠道
	 * @return					结果
	 */
	int changeStatus(MpChannel mpChannel);



	/**
	 * 校验名字唯一性
	 * @param mpChannel	渠道信息
	 * @return			结果
	 */
	String checkChannelNameUnique(MpChannel mpChannel);


	/**
	 * 根据渠道类型名称查询
	 * @param channelName	名称
	 * @return				渠道
	 */
	List<MpChannel> selectMpChannelByName(String channelName);


	/**
	 * 校验类名唯一性
	 * @param mpChannel	渠道信息
	 * @return			结果
	 */
    String checkClassNameUnique(MpChannel mpChannel);


	/**
	 * 内扣状态修改
	 * @param channel
	 * @return
	 */
	int changeInnerStatus(MpChannel channel);
}
